package cn.gg.benchmark.ui;

/**
 * Widget类是所有UI组件的基类，它封装了组件的位置以及尺寸等通用信息。
 * 
 * @author Jarod Yv
 */
public abstract class Widget {
	/** 左上角横坐标 */
	protected int x;
	/** 左上角纵坐标 */
	protected int y;
	/** 组件宽度 */
	protected int width;
	/** 组件高度 */
	protected int height;
	/** 前景色 */
	protected int fgColor;
	/** 背景色 */
	protected int bgColor;

	/**
	 * 更改组件的位置和尺寸
	 * 
	 * @param x
	 *            左上角横坐标
	 * @param y
	 *            左上角纵坐标
	 * @param width
	 *            组件宽度
	 * @param height
	 *            组件高度
	 */
	public void changePosition(int x, int y, int width, int height) {
		setX(x);
		setY(y);
		setWidth(width);
		setHeight(height);
	}

	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

	public int getY() {
		return y;
	}

	public void setY(int y) {
		this.y = y;
	}

	public int getWidth() {
		return width;
	}

	public void setWidth(int width) {
		this.width = width;
	}

	public int getHeight() {
		return height;
	}

	public void setHeight(int height) {
		this.height = height;
	}

	public int getFgColor() {
		return fgColor;
	}

	public void setFgColor(int fgColor) {
		this.fgColor = fgColor;
	}

	public int getBgColor() {
		return bgColor;
	}

	public void setBgColor(int bgColor) {
		this.bgColor = bgColor;
	}
}
